package com.sz.admin.vehicleinfo.service;

import com.mybatisflex.core.service.IService;
import com.sz.admin.vehicleinfo.pojo.po.VehicleInfo;
import com.sz.core.common.entity.SelectIdsDTO;
import com.sz.core.common.entity.PageResult;
import java.util.List;
import com.sz.admin.vehicleinfo.pojo.dto.VehicleInfoCreateDTO;
import com.sz.admin.vehicleinfo.pojo.dto.VehicleInfoUpdateDTO;
import com.sz.admin.vehicleinfo.pojo.dto.VehicleInfoListDTO;
import com.sz.admin.vehicleinfo.pojo.vo.VehicleInfoVO;
import com.sz.core.common.entity.ImportExcelDTO;
import jakarta.servlet.http.HttpServletResponse;

/**
 * <p>
 * 车辆管理 Service
 * </p>
 *
 * @author sz-admin
 * @since 2025-08-29
 */
public interface VehicleInfoService extends IService<VehicleInfo> {

    void create(VehicleInfoCreateDTO dto);

    void update(VehicleInfoUpdateDTO dto);

    PageResult<VehicleInfoVO> page(VehicleInfoListDTO dto);

    List<VehicleInfoVO> list(VehicleInfoListDTO dto);

    void remove(SelectIdsDTO dto);

    VehicleInfoVO detail(Object id);

    void importExcel(ImportExcelDTO dto);

    void exportExcel(VehicleInfoListDTO dto, HttpServletResponse response);

    VehicleInfoVO getVehicleWithDeptById(Long id);
}